1
在异构集群中构建可移植性
AI022Lesson 2
00:00

其核心在于 可移植性异构计算接口(HIP) 在于它能够将特定于硬件的工具链抽象为统一的 C++ 运行时 API。通过采用 单源范式,开发者可以维护一个单一代码库,该代码库能动态映射到 NVIDIA 或 AMD 后端。

1. 基于路径的硬件解析

该架构依赖环境标记作为构建系统的导航锚点。这些标记告诉 hipcc 编译器包装器在哪里找到必要的设备库和头文件。

  • CUDA_PATH: NVIDIA 堆栈(NVCC/PTX 工作流)的主要锚点。
  • HIP_PATH: AMD ROCm 堆栈(Clang/LLVM 工作流)的主要锚点。
HIP 源代码NVIDIA 堆栈$CUDA_PATHAMD ROCm 堆栈$HIP_PATH异构集群

2. 抽象计算堆栈

通过将应用层与微架构解耦,实现可移植性。逻辑通过使用 hipcc在构建时确定,确保 $O(1)$ 的代码维护可带来 $O(N)$ 的硬件兼容性。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>